色々なクライアントOSからAWS Client VPNに接続してみる(AWS製クライアント版)
こんにちは、AWS事業本部のニシヤマです。
気づいたら手元に複数のデバイスなど環境がいくつかあったので各デバイスのAWS Client VPNへの接続方法をまとめてみようと思いました。
こちらのブログではAWS Client VPNに接続する際のクライアントアプリケーションにAWS製のクライアントアプリケーションを使って試したいと思います。OpenVPNクライアント版の手順はこちらのブログを参照してください。
ではやっていきます。
前提
- AWS Client VPNの環境構築が済んでいること
AWS Client VPNの環境構築ができていない場合は以下ブログを参考にして構築してください。
AWS製のクライアントアプリケーション
AWS製のクライアントアプリケーションの接続方法に関しては以下のURLを参考にします。 https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/connect-aws-client-vpn-connect.html
また、AWS製のクライアントアプリケーションは以下からダウンロードできます。
https://aws.amazon.com/jp/vpn/client-vpn-download/
Windows
最初にWindowsでやってみます。
要件
動作要件は以下になります。
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-windows.html
- Windows 10 64 ビットオペレーティングシステム、x64 プロセッサ
- .NET Framework 4.7.2 以降
今回実行した環境は以下になります。
Windows 10 Pro 21H2
上のダウンロードURLからクライアントアプリケーションをダウンロードします。
ダウンロードされたAWS_VPN_Client.msi
を実行します。
セットアップウィザードが起動したらライセンスを確認し、同意にチェックを入れてInstall
をクリックします。
インストールが完了しました。
クライアントアプリケーションを起動するとまだプロファイルが登録されてないため空欄で起動します。
ではクライアントマシンでクライアント設定ファイル(ovpn)をダウンロードします。今回はマネジメントコンソールから直接ダウンロードしました。
接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロード
をクリックします。
クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下、クライアント証明書、クライアント証明書キーのパスを追記します。
cert C:\\Users\\<user>\\Downloads\\client1.domain.tld.crt key C:\\Users\\<user>\\Downloads\\client1.domain.tld.key
この際にパスの区切り文字を「\」で二重にする必要があるので注意してください。
また、上記はクライアント証明書、クライアント証明書キーのファイルパスを記載していますがクライアント設定ファイル(ovpn)に以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込むことも可能です。
<cert> -----BEGIN CERTIFICATE----- 〜〜〜省略〜〜〜 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- 〜〜〜省略〜〜〜 -----END PRIVATE KEY----- </key>
ファイル>プロファイルを管理をクリックします。
プロファイルを追加
クリックします。
任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加
クリックします。
接続準備完了の表示がされたら接続
をクリックします。
その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。
ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。
macOS
ではお次はMacでやってみます。環境は以下です。
要件
動作要件は以下になります。
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-macos.html
- 64 ビットの macOS Mojave (10.14)、Catalina (10.15)、Big Sur (11.0)
- またクライアントはTCP8096番ポートを予約します。
- SAML ベースのフェデレーション認証 (シングルサインオン) を使用する場合は、TCP35001番ポートを予約します。
今回実行した環境は以下になります。上記要件には含まれてませんが自己責任で利用してください。
macOS Monterey 12.3.1
まず、上のダウンロードURLからクライアントアプリケーションをダウンロードします。
ダウンロードしたpkgを展開します。
続ける
をクリック。
続ける
をクリック。
使用許諾契約を確認し同意する
をクリック。
ディスクの使用量を確認し問題なければインストール
をクリック。
インストールの確認が表示されたらパスワードかTouch IDでパスします。
少しするとインストールが完了しました。
クライアントアプリケーションを起動するとまだプロファイルが登録されてないため空欄で起動します。
接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロード
をクリックします。
クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下、クライアント証明書、クライアント証明書キーのパスを追記します。
cert /Users/<user>/Downloads/client1.domain.tld.crt key /Users/<user>/Downloads/client1.domain.tld.key
また、Windowsの時と同様に上記はクライアント証明書、クライアント証明書キーのファイルパスを記載していますがクライアント設定ファイル(ovpn)に以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込むことも可能です。
<cert> -----BEGIN CERTIFICATE----- 〜〜〜省略〜〜〜 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- 〜〜〜省略〜〜〜 -----END PRIVATE KEY----- </key>
このクライアント設定ファイル(ovpn)をAWS VPN Clientに追加します。Macのメニューバーからファイル>プロファイルを管理をクリックします。
プロファイルを追加
クリックします。
任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加
クリックします。
プロファイル一覧に登録されたら、接続
をクリックします。
その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。
ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。
Linux
最後にLinux(Ubuntu)でやってみます。
要件
動作要件は以下になります。
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-user/client-vpn-connect-linux.html
- Ubuntu 18.04 LTS または Ubuntu 20.04 LTS (AMD64 のみ)
今回実行した環境は以下になります。
Ubuntu 20.04.4 LTS
Linuxに関してはクライアントアプリケーションのダウンロードではなくInstructions
のリンクからAWSドキュメントのインストールページへ飛びます。
Linux(Ubuntu)の場合、3種類のインストール方法があります。
オプション 1 — パッケージリポジトリ経由でインストールする オプション 2 — .deb パッケージファイルを使用してインストールする オプション 3 — Ubuntu ソフトウェアセンターを使用して .deb パッケージをインストールする
今回はオプション 1 — パッケージリポジトリ経由でインストールする
を利用しました。
まず、AWS VPN クライアントのパブリックキーを追加します
wget -q -O - https://d20adtppz83p9s.cloudfront.net/GTK/latest/debian-repo/awsvpnclient_public_key.asc | sudo apt-key add -
Ubuntu 20.04用のリポジトリを追加します。
echo "deb [arch=amd64] https://d20adtppz83p9s.cloudfront.net/GTK/latest/debian-repo ubuntu-20.04 main" | sudo tee /etc/apt/sources.list.d/aws-vpn-client.list
リポジトリを更新します。
sudo apt-get update
クライアントアプリケーションをインストールします。
sudo apt-get install awsvpnclient
ではアプリケーションの一覧にVPNクライアントアプリケーションが表示されているのでクリックします。
ライセンスの確認が表示されるので確認してAgree
をクリックします。
アプリケーションが起動すると他のOS同様にプロファイルがない状態です。
ではクライアントマシンでクライアント設定ファイル(ovpn)をダウンロードします。今回もマネジメントコンソールから直接ダウンロードしました。
接続対象のClientVPNエンドポイントを選択してクライアント設定をダウンロード
をクリックします。
クライアント設定ファイル(ovpn)をダウンロードしたら適当なエディタで開いて以下の様に直接クライアント証明書、クライアント証明書キーの情報を埋め込みます。
<cert> -----BEGIN CERTIFICATE----- 〜〜〜省略〜〜〜 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- 〜〜〜省略〜〜〜 -----END PRIVATE KEY----- </key>
また、Linux(Ubuntu)の場合、クライアント設定ファイル(ovpn)で他のOSの様にクライアント証明書、クライアント証明書キーのパスを指定したクライアント設定ファイル(ovpn)ではエラーが出て接続ができませんでした。
File>Manage Plofilesをクリックします。
Add Profile
クリックします。
任意の表示名を入力し、右下のフォルダーアイコンからクライアント設定ファイル(ovpn)のパスを指定してプロファイルを追加
クリックします。
接続準備完了の表示がされたらConnect
をクリックします。
その後は認証方式により挙動が異なりますが、接続完了の表示と共にAD認証の場合は以下の様にユーザ名とパスワードを求められますので入力します。
ユーザ名とパスワードに問題がなければ以下の様に接続完了になります。
3環境合わせて以上です!
まとめ
いかがでしたでしょうか。リモートワークが普及したタイミングでAWS Client VPNの利用が増えたと思いますが、参考にした記事と現在利用しているマシンのOSが異なる場合などもあるかと思ったのでAWS製のクライアントアプリケーションでの接続方法をまとめました!
以上、この記事がどなたかの参考になれば幸いです。